{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "tags": [
     "remove-cell"
    ]
   },
   "outputs": [],
   "source": [
    "# Reference: https://jupyterbook.org/interactive/hiding.html\n",
    "# Use {hide, remove}-{input, output, cell} tags to hiding content\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "%matplotlib inline\n",
    "import ipywidgets as widgets\n",
    "from ipywidgets import interact, interactive, fixed, interact_manual\n",
    "\n",
    "sns.set()\n",
    "sns.set_context('talk')\n",
    "np.set_printoptions(threshold=20, precision=2, suppress=True)\n",
    "pd.set_option('display.max_rows', 7)\n",
    "pd.set_option('display.max_columns', 8)\n",
    "pd.set_option('precision', 2)\n",
    "# This option stops scientific notation for pandas\n",
    "# pd.set_option('display.float_format', '{:.2f}'.format)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "tags": [
     "remove-cell"
    ]
   },
   "outputs": [],
   "source": [
    "def df_interact(df, nrows=7, ncols=7):\n",
    "    '''\n",
    "    Outputs sliders that show rows and columns of df\n",
    "    '''\n",
    "    def peek(row=0, col=0):\n",
    "        return df.iloc[row:row + nrows, col:col + ncols]\n",
    "\n",
    "    row_arg = (0, len(df), nrows) if len(df) > nrows else fixed(0)\n",
    "    col_arg = ((0, len(df.columns), ncols)\n",
    "               if len(df.columns) > ncols else fixed(0))\n",
    "    \n",
    "    interact(peek, row=row_arg, col=col_arg)\n",
    "    print('({} rows, {} columns) total'.format(df.shape[0], df.shape[1]))\n",
    "\n",
    "def display_df(df, rows=pd.options.display.max_rows,\n",
    "               cols=pd.options.display.max_columns):\n",
    "    with pd.option_context('display.max_rows', rows,\n",
    "                           'display.max_columns', cols):\n",
    "        display(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Dimensions of a Data Table"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You have likely used the word \"dimension\" in a geometric sense–a square is two-dimensional while a cube is three-dimensional. We also apply this geometric lens towards data. Consider the two-column table below of height and weight measurements for 251 men."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "tags": [
     "remove_cell"
    ]
   },
   "outputs": [],
   "source": [
    "#http://jse.amstat.org/datasets/fat.txt\n",
    "fat = (\n",
    "    pd.read_fwf(\"fat.dat.txt\", colspecs = [(17, 21), (23, 29), (35, 37),\n",
    "                                            (39, 45), (48, 53), (73, 77),\n",
    "                                            (80, 85), (88, 93)], header=None,\n",
    "                names = [\"% fat\", \"density\", \"age\", \"weight\", \"height\", \"neck\", \"chest\", \"abdomen\"])\n",
    "    .query('height >= 40')\n",
    ")\n",
    "df = fat[['height', 'weight']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>height</th>\n",
       "      <th>weight</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>67.75</td>\n",
       "      <td>154.25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>72.25</td>\n",
       "      <td>173.25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>66.25</td>\n",
       "      <td>154.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>249</th>\n",
       "      <td>66.00</td>\n",
       "      <td>186.75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>250</th>\n",
       "      <td>70.50</td>\n",
       "      <td>190.75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>251</th>\n",
       "      <td>70.00</td>\n",
       "      <td>207.50</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>251 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     height  weight\n",
       "0     67.75  154.25\n",
       "1     72.25  173.25\n",
       "2     66.25  154.00\n",
       "..      ...     ...\n",
       "249   66.00  186.75\n",
       "250   70.50  190.75\n",
       "251   70.00  207.50\n",
       "\n",
       "[251 rows x 2 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we view this data in a row-oriented way, we can think of each row of data as a vector with two elements. For example, the first row of `df` corresponds to the vector $ [ 67.75, 154.25 ] $. If we draw a point at the endpoint of each row vector on the coordinate plane, we produce the familiar scatter plot of weight on height:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "tags": [
     "remove-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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Z+TIkR5d/9ChQyxdupRBgwaxatUqAJ5//nkURSEpKQmASZMmERcXx4IFC/jkk09ISUkBcCoEFUVBusxTkKL0LKegcFT2XsTaeYZWq2Z/ZonbGnb7jxeTnNB1CbidvXYWE+HBrNI+aSIMDQ1wq9102Iz24YcfMmrUKLvXzp49y7333suwYcNYsmQJFRUV3H///bzxxhu8+eab7V5zx44dPPPMM8TExPD2228THBwMmHN72jJx4kT0ej05OTncdtttAE41mIaGBvR6fUdvTyDoc/QGZ3tX1bDrrmfhqs3Fhu3Hvd7moqfg8dH/H//4BwsXLnQQNADR0dE88MADbN26FYCwsDDmz5/PoUOH2r3uO++8w/Llyxk3bhx//etfGTBgAGAWFv/6178cEkkVRcFoNBIcHIy/vz8RERHk5+fbjamsrKSurs7BlyMQXE1IaglFLZGWWcLmz06QllmCopaQ1D3PFOXtGnbd/SxM4CBowKyx/Xbjfkz0/cosHj/puro6+vXr5/J9nU7HhQsXrP8OCgqiqanJ7TU/+OADXn75ZW655RbefvttO01Ep9OxevVqB83oq6++oqmpyZp3k5yczK5du2hpabGO+fzzz1Gr1Q65OQLB1YLlJL109des+yiDz/fns+6jDJau/pqC8voeJ3AsNezalhSycCU17Lr7WYg2F2Y8fspjxozhb3/7m51AsVBbW8vf//53Ro8ebX1t3759DB482OX1Kisreemllxg4cCD3338/WVlZfP/999b/qqureeyxx/jiiy9YtWoV3333HZs2bWLlypXMmjWLqVOnAvDII49QXl7Oo48+yq5du3jnnXf4/e9/z913343BYOjIsxAI+gy98STtrRp23f0sPDURukuI7At47LNZsWIFixYt4qabbuKOO+5gyJAh+Pj4kJeXx6effkpVVZXVsf/II4+QlpbmNLTZwp49e2hsbOTcuXPcf//9Du+vWbOGxYsXExAQwObNm/nggw8ICgri3nvvZdmyZdZxcXFxbNy4kTVr1vDkk08SHBzM4sWL7cYIBFcTWq2atHac7QezS7rU2e4J3qhh1xOehWhzYcbjttAAmZmZvPLKKxw8eBBZvrR448ePZ+XKlYwbN46Kigruvvtubr/9dp566imvTNrbiHI1gs6iO9ZOp9Ow+bMTfL4/3+WYm68ZwsKbRtLc7NgEsSfQ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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(data=df, x='height', y='weight');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "What about a table with two columns: one for height in inches and one for height in feet?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "tags": [
     "remove-input"
    ]
   },
   "outputs": [],
   "source": [
    "heights = (\n",
    "    df['height']\n",
    "    .rename('inches')\n",
    "    .to_frame()\n",
    "    .assign(feet=lambda df: df['inches'] / 12)\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>inches</th>\n",
       "      <th>feet</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>67.75</td>\n",
       "      <td>5.65</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>72.25</td>\n",
       "      <td>6.02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>66.25</td>\n",
       "      <td>5.52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>249</th>\n",
       "      <td>66.00</td>\n",
       "      <td>5.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>250</th>\n",
       "      <td>70.50</td>\n",
       "      <td>5.88</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>251</th>\n",
       "      <td>70.00</td>\n",
       "      <td>5.83</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>251 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     inches  feet\n",
       "0     67.75  5.65\n",
       "1     72.25  6.02\n",
       "2     66.25  5.52\n",
       "..      ...   ...\n",
       "249   66.00  5.50\n",
       "250   70.50  5.88\n",
       "251   70.00  5.83\n",
       "\n",
       "[251 rows x 2 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "heights"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Each row vector of this data table contains two elements as before. Yet a scatter plot reveals that all the data lie along one dimension, not two:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "tags": [
     "remove-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ8AAAEZCAYAAABICyhRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXhUVbou8Ld2VWWsTBXoBAIJo4gJGYAQQiKJDEYv9PUAjyIEUEAF8aoBkUEmaUUJTYMIdOiDGAwebJsjg80g3YBCM4OMMRAIZgBCEFJknqv2/SNWkaKGDCQ1JO/veXyAXWvvrMqy8mWv9e1vSURRFEFERGRBgrU7QEREbQ+DDxERWRyDDxERWRyDDxERWRyDDxERWRyDDxERWZzM2h04c+YMVq1ahbS0NLi5uSEuLg6zZs2Cq6ur0fa7du3CnDlzDI7Hx8dj8eLFAICamhqsW7cOO3bsQEFBAQIDAzFv3jwEBwc3uZ+iKMKWktIlkto/balP1DAcO/vEcWsciQSQaL9pRlg1+Fy4cAGTJ0/GkCFDkJSUhOzsbKxatQoqlQqrV682es7Vq1cREBCAFStW6B1v166d7u/Lli3Djh07MHv2bHTs2BHJycl49dVXsWvXLnTu3LlJfRVFID+/pEnntgQPD2cAQGFhuZV7Qo3FsbNPHLfG8fZWwEzssW7wWblyJUJDQ7FmzRpIJBIMGjQIGo0GycnJKC8vh7Ozs8E56enpCAwMRGhoqNFr3rp1C99++y0WLVqEcePGAQCio6MRFxeHL774AkuXLm3R90RERPWz2pqPSqXC2bNnMW7cOL1bs/j4eBw4cMBo4AFq73x69epl8ronT56EWq1GXFyc7piDgwNiY2Nx5MiR5nsDRETUZFYLPteuXYMoivDw8EBCQgJCQ0PRr18/LFmyBBUVFUbP+e2335Cfn4+0tDQ899xzCAwMRFxcHHbu3Klr8+uvv8LDwwNKpVLv3ICAAOTm5pq8NhERWY7Vpt1UKhUAYN68eRg+fDiSkpKQnp6Ozz77DJWVlVi+fLnBOVevXgVQO7X2/vvvw9HRETt37sTcuXOhVqsxZswYlJSUQKFQGJyrTWAoLS2Fk5NTo/srkTyc87UFMpkUgG31iRqGY2ef2uK4SSQSSCS1a96NLQNqbr0HsGLwqa6uBgD07dsXS5YsAQBERkZCFEUkJibirbfeMkgOCAoKwoYNGxAeHq4LMNHR0cjPz8eaNWswZswYk98g7XFz2RdERATUaDQoq1Dj1C93kJlbhK4d3RER2AEuTlLIhOaZMLNa8NHeiQwePFjveHR0NJYvX4709HSD4KNUKvHMM88YXCsmJgbHjx+HSqWCQqFAaWmpQRvtMWN3RQ0hiraV5cLMG/vFsbNPbWXcBKmAnHul+OjLU6iu0eiOb/r+FyyaEgH/9q7QqDVmrlCrvmw3q635dOnSBQBQVVWld1x7R2TsDuX8+fPYtm2bwfHKykrIZDK4ubmhW7duKCgoQGFhoV6b7OxsdOrUCQ4ODs30DoiIWg+5XApHRxkEmYBlyfqBBwCqazT46MtTUKN5Zo+sFny6d+8OPz8/7N27V+/4jz/+CJlMhrCwMINzLly4gIULF+rWfgBAo9Fg//796Nu3L+RyOQYNGgQA2L9/v65NVVUVDh8+rHuNiIhqCVIBolTAsdQ8pPyQjiMXcvHxm1GIDulo0La6RoMzV/Igl0sf++tKP/zwww8f+ypNIJFI0L59eyQnJyMrKwsKhQL79u3D+vXrMXHiRAwfPhwqlQrp6elQKBRwcHBAt27dsHfvXuzbtw9KpRK3b9/Gp59+iosXL+Ivf/kLfH194e7ujtu3b2PTpk1wdnbGgwcP8Kc//Qk3b97EihUr4Onp2aT+iiJQXl5Vf0MLcXKSAwAqK2us3BNqLI6dfWqN46adYpuz7ihOp93FjduFOJf+G376+RbGDn8CEgA5d4v1zmnn4YzQnu2grmfqzcXFwewau8TaO5keOHAA69evR0ZGBry9vTF27FhMmzYNgiBg+/btmD9/PlJSUhAREQEAuH37Nv7yl7/g1KlTKCkpQVBQEGbOnIn+/fvrrllVVYWVK1di9+7dKCsrQ2BgIObMmYOQkJAm91OjEVnhgJoFx84+tcZxE6UCpiceMphiAwC5TMAnM6Iwd+1/oKkTJaaP7oOoQF9UV6vNXtvbWwFBsOHgYy8YfKi5cOzsU2sbN7lcimOpediw47LJNq+MeArnr/2GS9fv154jE7Bh7lBI1OYDD1B/8GFVayKiNkgQJMjMLTLb5s79Uijdap+LlMsELJoSASma537F6lWtiYjI8jQaEV07upttE+DrBlEU8WQXL4T39oUUYoPSrBuCwYeIqA2qrlYj/CkfbPrnLybXfCL7dICjVAKNRkR1tRrNE3ZqcdqNiKiNkgJYNCUCcpl+KNBOsQmiiMrKmnqTC5qCCQcNxIQDai4cO/vUWsdNkApQQ4IzV/KQlVuELh3dm2WKrb6EA067ERG1YRq1BhIAUYG+eLpPhxaZYjOGwYeIiFpkas0crvkQEZHFMfgQEZHFMfgQEZHFMfgQEZHFMfgQEZHFMfgQEZHFMfgQEZHFMfgQEZHFMfgQEZHFMfgQEZHFsbwOEZEVOTvLIZUKUKs1KC+vtnZ3LIbBh4jICqRyKWo0wMFzt5GTVwR/X3dEBnWATADUFq6zZg0MPkREFiaVS5GZV4xlyaf1NnL7ak8aFkwegK6+bq0+AHHNh4jIwmo0MAg8AFBdo8Gy5NMwsrFoq8PgQ0RkQc7OcpxIvWN062qgNgCdTL0DZ2e5hXtmWQw+REQWJJUKyMkrMtsm524xpNLW/eO5db87IiIbo1Zr4O/rbraNv48b1I+xhbU9YPAhImpmcrkUjo4yyOVSg9fKy6sRGdQBcpnxH79ymYCBQR1afdo1gw8RUTMRpAJEqYBjqXlI+SEdx1LzIEoFCI9MockEYMHkAQYBSC4TsGDyAJiIS62KRBRF0dqdsAcajYj8/BJrd0PHw8MZAFBYWG7lnlBjcezsU33jJkgF5NwrxUdfntJLJpDLBCyaEgH/9q7Q1JlK0z7nczL1DnLuFsPfxw0DW9FzPt7eCgiCxOTrDD4NxOBDzYVjZ5/qGzdRKmB64iGjWWxymYANc4dCojYMKq21wkF9wacN3NwREbUcuVwKFxcH/Hq7yGSSQHWNBmeu5JlcAyopqWxVgachGHyIiJqg7vpO8p4ruJNfisS3n0Z0SEej7bNyi8zeCbQ1LK9DRNRI5tZ3Zo3vCwA4ejFX75wuHd2h0XCVQ8vqdz5nzpzBuHHjEBISgujoaHz00UcoLS012f7evXtYuHAhnnnmGYSFhWH06NHYt2+fXpuzZ8+iV69eBv9Nmzatpd8OEbVSEokEgiCBXC6FGjAIPEDt9NqqrefwQkx31L3JkcsEhPf2RXUrSCRoLla987lw4QImT56MIUOGICkpCdnZ2Vi1ahVUKhVWr15t0L6qqgqvvfYaiouL8c477+APf/gD9u/fj4SEBKjVaowcORIAkJ6eDhcXFyQnJ+ud7+5u/sEuIqJHCVIBagD/Op2NzNwi9H/SB/lF5WbL46TeyEdQj3a4dP2+LttNChGt+7HRxrFq8Fm5ciVCQ0OxZs0aSCQSDBo0CBqNBsnJySgvL4ezs7Ne+yNHjuDq1avYtm0bgoODAQBRUVHIzc3Fxo0bdcHn6tWr6NmzJ0JDQy3+noio9TA2vVZVrTb5gKhWXn4pYsM6YVCfDgjv7VsbeFp5xYLGstq0m0qlwtmzZzFu3DhIJA/vT+Pj43HgwAGDwAMArq6uGDt2LPr06aN3vFu3bsjJydH9+8qVK+jVq1fLdZ6I2gRj02uqokr4eruaPa9bRw8MCvJFVKAvJGo1A48RVrvzuXbtGkRRhIeHBxISEvDTTz9BKpVi5MiRmD9/PpycnAzOiYyMRGRkpN6x6upqHD58GD179gQAaDQaXL9+HV5eXhg1ahSuX7+Odu3aYdKkSZg8ebJeoGsMieRhnr8tkMlqUzZtqU/UMBw72ycItes7Z9LuGqRPX864hwnPPwm5TDD5TM+AQF/I5VKjqdVtRX0/aq165wMA8+bNg5eXF5KSkvD2229j165d+PDDDxt8nZUrVyIrKwtvvPEGACAzMxMVFRXIzMzE66+/jo0bN2LYsGFYsWIF1q5d2xJvhYhaiaoaNQpKq7DneBbW/+9F5N43TJ/WiMCuwzcwa3xfo+VxFk8dCBentht0Gspqdz7V1bUPVPXt2xdLliwBUHtnI4oiEhMT8dZbb6Fz584mzxdFEX/+85+xefNmTJ06FcOGDQMA+Pj4YOPGjejduzfat2+vu25FRQU2btyIKVOmQKFQNLq/omhbT6TzKXn7xbGzTaZ2FzWWPq398/P3YnHp+n1k5haiS0d33fpOaXGl5d+AjfH2Vpi9+7HanY+ra+2c6eDBg/WOR0dHQxRFpKenmzy3qqoK7733HjZt2oSpU6dizpw5utcUCgUGDx6sCzxasbGxqKqqQmZmZjO+CyKyZ56eLvD2doWnp4vZ3UWNpU+f+iUPDjIpBgX6YGJcL67vNJLVgk+XLl0A1AaSurR3RKbWZkpKSjB58mTs27cPH3zwgV7gAWrTrLdu3aq7jlZFRQUAwMvLqzm6T0R2TO4ogyiVYu+J2um1H05mo6pGjYhAX6Pt66ZPA9BLn66uVqOysobP8DSS1abdunfvDj8/P+zduxfjx4/XHf/xxx8hk8kQFhZmcI5arcabb76JixcvYtWqVXj++ecN2mRnZ2Pp0qXw8fHB0KFDdcf37t2LTp06wc/Pr2XeEBHZBbmjDDdyixo0vVYX06ebl9WCj0QiwezZszFr1izMnj0bo0ePRmpqKpKSkjBx4kQolUqoVCrk5OSgR48eUCgU+Pvf/47Tp09j7Nix6NChAy5cuKB3vZCQEMTGxiIoKAiLFi2CSqWCr68v/vnPf+LQoUNYu3Ztk7PdiKh1qKoRzU6vfTIjCscv5eLRSjgBvu4Y0r8ziosrUF2t5gOjj8nqWyocOHAA69evR0ZGBry9vTF27FhMmzYNgiBg+/btmD9/PlJSUhAREYFJkybh1KlTRq8jlUqRlpYGoDaT7rPPPsPhw4ehUqnQs2dPzJgxQ5eU0BTcUoGaC8fOOjw8nCGTCTj9y118+tVpg+Ci9cqIp3D+2m+4dP2+7phcJmDDvKHwdHXguDUQ9/NpJgw+1Fw4dpYld5ShqkbEidQ7yMkrQqc/uKF3VyV2Hb5hdHrt2YgAVFWr8dO5W7Xn/767aC9/TzjIpBy3Bqov+LCqNRG1Wk1Z3+nm5452Hs5wdJDq7S7qIOOzO82JwYeIWq3Gru9oq0+7OAgI7u6t213UyAak9JisvqUCEVFzcnd3gpeXC5RKF5xIvdOg6tPAw+k1B5mkze4uakm88yGiVkG7tvPDqRzk5BXh6VA/3MwrNntOXn4pYsI6IeIpXwwM6gAHmQTVlTUW6nHbxuBDRHbP2NrOXVU5Qnq2M3tegK87hoV3hlotoqCgDHxO1HI47UZEdks7xVatNlzbuZxxD316tDO5945cJiAi0Bf5+aUoKCizVJfpd7zzISK7U3eKTdSIkAgSg7WdutWnV209Z5Dtpl3f4d2OdTD4EJFdeXSK7Zl+nUze3WjTqFcnxODyjfvIulOkS5/m+o51MfgQkV15NH1aVVRpdm3n6MVc9O6ixIioLgAkUKs1KCws5x2PlTH4EJHN8/JygSBIIIoidh/LMljbqW9n0YFBHaBScV3HljDhgIhslnbrA+3Ooheu3zdIn65vZ1Ht2g7ZFt75EJFNakz6tHZt55MZUbiW/QA5d4u5tmPjGHyIyKZ4eDhDKhWgKqowmj5taort6MVcnEnLwxcLhkPhLIdarUFRUQXXdmwUgw8R2QRt+vS+k9lNTp+e/+oAQBTx4AHXd2wdgw8RWV1T0qdXJcTgl1/vIzOX6dP2iMGHiKzucdKnRRGcYrNDDD5EZBXu7k6QSgVIJGD6dBvEVGsisiht+vQPp3KQtP0Sdh/LQmRQB8x/JVzXhunTrR+30W4gbqNNzaUtj525nUUXTB6Ayio1Pv3qjO54dEhHvBDT3SbSp9vyuDUFt9EmIpthbmfRZcmnsWHuUDhIgarf12606dMbFwyHh6sDNJraTDau7dg/TrsRUYvy9HSBt7drg3YWPZl6B1NHBeuOadOnJaKI/PxSplC3IrzzIaIWoX1uZ++JLOTkFaFrRw+E9GyP6JCOunTpR+XcLcbYYU/g14EBTJ9u5Rh8iKjZmVvbmTW+LwAYDUD+Pm5QujvizdHBrD7dynHajYiajYeHM5RKV6M7iwK1U2urtp7DCzHd8ehadN30aZWqlAv7rRzvfIjosTWkNI5WdY0GqTfyEdSjHS5dv197PncWbXMYfIjosTSmNI7W3fxSjIntgQ7erlzbaaMYfIjosTS2NA4AdPZxQ0jPdgju0Y6lcdooBh8iajSl0gUSCXcWpaZjwgERNZi2NM7uY7U7i+4+loWBQb6YMvIpXRuWxqGGYHmdBmJ5HWou9jp2ZkvjvDoAOXlF+HJ3mu64LZXGaQ72Om7WUl95Havf+Zw5cwbjxo1DSEgIoqOj8dFHH6G0tNRk+9LSUixduhRRUVEICwvD66+/jqysLL02NTU1+OyzzxATE4OQkBCMHz8ely5dauF3QtQ6eXnVVigQIcGnm02Uxtl8GpHBHVH3RufoxVwsTDqGwWF+mDEmGM9HdoFErbbLwEPNz6rB58KFC5g8eTLat2+PpKQkvPXWW/j++++xcOFCk+fMnDkTP/zwA2bPno3ExETcvXsXkyZNQnFxsa7NsmXLsHnzZrz++utYvXo1pFIpXn31Vdy8edMSb4uoVdBOse05XjvFduTCbXz8ZhSiQzoatK2u0eDUL3kYObj7w/Pr7Cyan1+KggKu8dBDVk04WLlyJUJDQ7FmzRpIJBIMGjQIGo0GycnJKC8vh7Ozs177s2fP4vDhw9i4cSMGDx4MAOjfvz+GDh2Kb775Bm+88QZu3bqFb7/9FosWLcK4ceMAANHR0YiLi8MXX3yBpUuXWvx9EtmbplQouHm3GCOjuqK8osbup9io5VntzkelUuHs2bMYN24cJJKH84Lx8fE4cOCAQeABgGPHjsHV1RVRUVG6Y0qlEuHh4Thy5AgA4OTJk1Cr1YiLi9O1cXBwQGxsrK4NEZlnrvq0qQoF/j5u6OyjwJujg/HcwABOsZFZVrvzuXbtGkRRhIeHBxISEvDTTz9BKpVi5MiRmD9/PpycnAzO+fXXXxEQEACpVKp33N/fH/v27dO18fDwgFKp1GsTEBCA3NxcVFRUGL12fSSShwuOtkAmq/0e2FKfqGFsdeykUonJ9Om6TFUoGNinA9RqEUBtDpOtvb/HZavjZqsk9SQ0Wi34qFQqAMC8efMwfPhwJCUlIT09HZ999hkqKyuxfPlyg3NKSkqgUCgMjru6uqKkpKTeNkBtwkJTgg9Ra1VWVYOqKg1OpN5BTl4RBgV3xM28YrPn3LlfCqVb7edIlz4tt3r+EtkRqwWf6upqAEDfvn2xZMkSAEBkZCREUURiYiLeeustdO7cWe8cc1nhgiCYbaM9LqkvHJsgiraVYsm0T/tlS2NnbG3nrqq83goFAb5u0Igienb2fLi2U16NwvJqS3TbKmxp3OyBt7fC7N2P1X5V0d6JaBMHtKKjoyGKItLT0w3OUSgURtOwS0tLdXc75tpoXyeiWsbWdi5n3EOfHu1M1meTywRE9umA//t0N4yIYvo0NY3Vgk+XLl0AAFVVVXrHtXdExu5Qunbtips3bxrc3WRnZ6Nr164AgG7duqGgoACFhYUGbTp16gQHB4fmegtEdkuprH12J+NWAdRq/bWdhlQokEslyM8vZYkcarIGB59JkybhxIkTJl8/dOgQRowY0eAv3L17d/j5+WHv3r16x3/88UfIZDKEhYUZnBMdHY2ioiIcP35cd0ybNTdo0CAA0P25f/9+XZuqqiocPnxY9xpRW1W3PM5f//cS7qrKkPj20wbP7hy9mItjF3OxKiEG00cHI25gAF5/IQgb5g5F947uvNOhx2Zyzae8vBwPHjzQ/fv06dMYPnw4AgICDNpqNBocOXIEt27davAXlkgkmD17NmbNmoXZs2dj9OjRSE1NRVJSEiZOnAilUgmVSoWcnBz06NEDCoUC4eHhGDBggO4cT09PrF27Fm5ubrpnevz8/DBq1Ch8/PHHKCsrQ0BAAJKTk1FYWIjXXnutMd8bolalsc/uHL2Yi95dlLVTaxIJNBoRDx6Usfo0NQuTtd1UKhWee+45vcoB5oiiiKioKGzatKlRHThw4ADWr1+PjIwMeHt7Y+zYsZg2bRoEQcD27dsxf/58pKSkICIiAgBQWFiI5cuX48CBA9BoNOjXrx/mzZuHbt266a5ZVVWFlStXYvfu3SgrK0NgYCDmzJmDkJCQRvWtLtZ2o+ZiybHz8nKBINQGDlVRJaYnHjRZafqTGVGYu/Y/0IgPj22YOxQSNaMNwM9cY9VX281sYdHDhw/j8uXLEEUR69evx/Dhw9GrVy+DdoIgQKlUYsSIEXBzc2uentsYBh9qLpYYO+3Ootr06al/DMS/z9zEF7tSTZ7zyoincP7ab7h0/b5ubYdTbA/xM9c49QUfs6nWMTExiImJAQDk5ubi5Zdffqy7ByJqecam1157oQ9y8orMnpeXX4qYsE6IeMqXpXGoxTX4OZ9PP/1U9/e7d+8iLy8P3bp1g6OjI2Qyme45GyKyLmPp08VllfD3dTd7XteO7hgW3hlqtYiCAq7tUMtqVMT4+eefMXr0aMTGxuLll19GamoqTp8+jdjYWIOsNSKyLA8PZ3h7u+JeQRlEjf66zrt/PoDIoA5mn90J7+3L6tNkMQ0OPpcuXcLkyZNRWlqKV155RXfcw8MDMpkMs2fPxuHDh1ukk0RkmjZ9et/JbKz/34vIuFWIpHnD9HYXLakERIi1z+hwd1GyAQ3eyXTq1Km4c+cOtm/fjrKyMgwaNAjJycmIjIxESUkJxo0bBzc3N2zdurWl+2wVTDig5tKcY9fY3UW/WDAMEkhwMvVOq9hd1JL4mWucZtvJ9Pz58xg9ejScnJwMqg8oFAq89NJLuH79etN7SkQN4ulZW53A09PF7NYHxnYXfTPxEABgRFQXzBgTzPI4ZDWNWvMxV5qmsrISGo3xEuxE9Pi002t7T9TuLLr3RBZEiJj43JNG2z+6u2jd6TWVqozlcciqGpztFhISgt27d2PSpEkGr5WVlWHbtm3o06dPs3aOiGqZml77ak8aFrw6AFNGPqU3vaZ1824xYsI6ob2HM6fXyKY0+M7nnXfeQVpaGiZMmICdO3dCIpHg0qVLSElJwQsvvIBbt25h+vTpLdlXojarsdNrWv4+bgjspsT/GcTpNbItDQ4+YWFh+Nvf/oa8vDwkJiZCFEWsXr0an3zyCSoqKrB69WoMHDiwJftK1OZ4edWu75RVVkMimt5ZtO70mpZcJmBgUAfk55fiwQNOr5FtadRmclFRUfj3v/+NtLQ05OTkQKPRwM/PD0FBQZDJrLYvHVGroy2Ps+d4FnLyiuDv646kecORcasAn351xqD9zbvF6NbR4+H5ddZ3+LAo2aJGRwyJRIJ27dqhpqZGV+GA1Q2Imo/Z9Z3JAzD/lXCDAOTv44aADm6IGxjA9GmyC6xwQGRjzK7vJJ9Gj06ecJA+PK6dXuvZyRNvjg7GcwMDuL5DNq/JFQ60z6aywgHR49M+u6NUuuBE6h2j2x4AtQHoZOodTB0VDEB/eq2wsBwqVSkfgiS70ODgs2bNGnTq1Am7du3CG2+8oTvep08ffP/99+jevTv+9re/tUgniVqrR5/dURVV1lt9OuduMfp0bcedRcmuNXjN5/z585gxYwacnJxQXq7/m5W2wsHnn3/e7B0kaq2Mre307OxVb/Vpfx83+P3BFb7eXVh9muwWKxwQWZhUKoFMJkAqlSLxK/21nY07LtZbfVqbPs3q02TPGhx8tBUOjGGFA6L6aafYdh+rnWI79PNNfD57iF716So1kHGrgNWnqdVrcFXr8+fPY+LEiQgNDcXQoUOxYsUKJCQkwNnZGVu2bEFubi42bdrUah80ZVVrehyNrT49/5Vw9OjkyerTNoSfucapr6q1yeDzzTffIDIyEl26dNEdO378OBYvXoxbt27ptW3fvj0WLVqEZ599tnl6bYMYfOhxiFIppiceNJrFJpcJ+OucIXhz+QHUffn1F4Jqq05LJNBoRFYpsDJ+5hqnvuBjMuFgxYoVWLBggS74DB06FB988AErHBA1kFLpAolEAlEUsftYltn0aW15nJ0/3QDwcG2HVaeptTIZMRwcHHDgwAGEhobC2dkZt2/fRm5uLu7cuQMvLy94eXnp2v7222+6v3fs2LFle0xk47SlcXYfqy2NEx3ih5t5xWbPqVseh6VxqC0wOe325z//GZs2bTLYOK4+V65caZaO2RpOu1FDGFvbCenZHiE92yFlr+nPxusvBEHp4QRVYQXXdmwUP3ON0+Rpt/fffx/h4eFIT09HVVUV1q9fj+HDh6NXr14t0lEie6adYssvrDRIKriccQ8Tnn8Scplgcs1nYJ8OaOfhBLVa5LM71CaYXaiJjY1FbGwsAGDHjh34r//6LwwdOtQS/SKyC3Wn2ESNCIkgMQgwGhHYdfgGZo3vi1Vbzxlmu00eAAepBPn5pZbuPpHVNDhL4NChQy3ZDyK78+gU2zP9Opl8OPToxVwAwKqEGKTeuI+sO0VMn6Y2jSlqRE30aPVpVVElQnq2M9n+6MVc9O6i1KVPi6IIlYpTbNQ2cSMeokZQKk1Xn76ccQ99erSrtzSOWi2ipkbDNGpq0xh8iBrg0dI4P5zMRkjP9ogOefhoQd21HZbGITKP025E9TBXGmfW+L4AHq7paP/8ZEYUrmU/MF4ax0lu+TdBZGOsGnxqamrQt29fVFZW6h13cXHB+fPnDdrPmzcPO3bsMHm99PR0AMDZs2cRHx9v8HpsbCz3HKJGM7ez6Kqt5/DJjCgcv5QLze9PzB29mIszaXnYuGA4POEk6JkAABvySURBVFwduLZDZIRVg09mZiYqKyuRmJioV0NOEIzPBs6YMQMvv/yy3rHs7GzMmzcPL730ku5Yeno6XFxckJycrNfW3d38PilEWh4ezpBKBQD1l8ZJvZGPoB7tcOn6fQC1d0TzXx0AiSgyfZrIBKsGn6tXr0IQBMTFxcHZ2bne9v7+/vD399f9W61W46OPPsKTTz6JBQsW6F23Z8+eCA0NbZF+U+ulfW5n38ls5OQVYdyzT9a7s+jd/FKMie2BDt6uTJ8maiCrBp8rV67A39+/QYHHmL///e9IS0vDt99+q7fR3ZUrV9C7d+/m6ia1EU3dWbSzjxtCerZD6BPtOcVG1EBWzXZLT0+Hg4MDpk6dirCwMISHh2Px4sUoKam/hlppaSk+//xzvPDCCwgODtYd12g0uH79OvLy8jBq1CgEBQUhNjYWX375JRq4dRG1MV5etenTkEjw6eam7SyqUpUhP7+U6dNEDWT1abeSkhK8+OKLmD59OlJTU7F27VpkZmYiJSXFbFHT7777DkVFRZg2bZre8czMTFRUVCAzMxOzZs2Cl5cXDh48iBUrVqCkpATvvPNOk/oqkTwsLGgLZDIpANvqk70pq6pBVZUGe47XVp/293XHx29GYdfhG7qstbo7ixrdCG7yADg4CHAxs8X8ozh29onj1jj11aRu8E6mLeH06dPw8PDQK1b6/fff4/3338eXX36JqKgok+fGxcWhZ8+eWLdund7xkpISnDt3Dr1790b79u11xxcuXIhdu3bhxIkTUCgUje6rKIqotqG5FO0HoabGdvpkT8qqanDjVqHJ9OljF3N1AQgwsbNonw5wkAtwcWjc73AcO/vEcWscuVxq9gbCqnc+AwYMMDimLWR69epVk8Hn6tWryMrKwuzZsw1eUygUGDx4sNHrbtu2DZmZmejTp0+j+yqKtlVKneXdH48olTYqffrTr87o7SyqW9upUaOwvLpRX5tjZ584bo3j7a0we/djtTWf/Px8bNu2DTdv3tQ7XlFRAQB6m9U96qeffoKLiwtiYmIMXktPT8fWrVtRXa3/A6Eh16XWTbu2Y6w0Tl1106e1uLZD1LysFnwkEgkWL16Mr7/+Wu/43r17IZVK0a9fP5PnXrhwAUFBQXoZblrZ2dlYunQpjhw5YnDdTp06wc/Pr3neANkNbWmcPcdrS+PsPpaFgUG+mDLyKZPn3LlfCqWbU+35LI1D1OysNu2mVCoRHx+PLVu2QKFQoH///vj555+xYcMGxMfHIyAgACqVCjk5OejRo4feOs21a9eM3vUAtdNrQUFBWLRoEVQqFXx9ffHPf/4Thw4dwtq1axu9MyvZN1Olcb7ak4YFrw7AlJFP4cvdaQbnBfi6QSOK6NnZk8/tELUAq675zJ07Fz4+Pvjuu+/w3//93/Dx8cE777yD1157DUDt9Nr8+fORkpKCiIgI3Xn5+fkmqxU4ODhg48aN+Oyzz7Bu3TqoVCpdYsKwYcMs8r7I+ry8XCAIEuQXVphc21m2+TT+OmcIUvamoe7LcpmAyD4doHR3glqtQWFhOZ/bIWpmVs12sycajYj8/PqfP7IULn4ap61QcCL1jm5n0S92pZps/9oLQbhfWI6dP92oPf/3KbbuHd1b7E6HY2efOG6N4+2tgCDYaLYbUXNqzM6iWjfvFmNkVFeUV9SwNA6RBTH4UKvR2J1FAcDfxw2dfRSYMSYYGo2IBw9YGofIEhh8yK55erpAKq197ubR6tOXM+5hwvNPQi4TjKZV102fJiLL4k6mZJe06dN7T9SmT9/8rdSg+jR3FiWyXbzzIbtjLH1a4ewAfx/DDMgG7SxKRBbHOx+yO8Z2Fv3+SAYignyNJhgcvZiLhUnHMDjMDzPGBOP/DOoCiVrNwENkRQw+ZDeUytryOMZK49RogBOXcrHg1QFGp9jmvzoA+H1n0QcPuMZDZG2cdiObp312Z/exLHTzcze5s+iXu9MwZeRTSJo7BKdS8zjFRmTDGHzIpj26vjM6tofRtR2tL3enQSoVdNWnmT5NZJs47UY2Rzu9plS6GKzvmFvbAQyrT3OKjcg2MfiQzdCmT+8+9rD6NAB8NC1S16a+tR2mTxPZB9Z2ayDWdmtZpqpPawOKk4MU89Yf0x2fMvIpRAZ3xOlf7G9tp7WNXVvBcWuc+mq78c6HbIKx9Gng9+rTyafR3tMFTnVWKL/cnYY3lx9A904emDEmGM9HMn2ayJ4w+JBVeXqaTp/Wqq7R4GTqHcyepL/tukQQ0N7TBfn5pSgo4NoOkT1h8CGrqFse55fMfJPp01o5d4vhq3R5eD7Xd4jsGlOtyeIamz4N1FafdpRLETcwwK7Wd4jION75kEV4eDhDqXSFh4dzk9On23s5Y8aY4NpneLi+Q2TXGHyoRWmn1/adzMZfv7uIf53OQVW1GhGBvro2DU2f1j67wy0QiOwfp92oxZhLn541vi+Ah1WntaVx/jpniF2mTxNR4/A5nwbicz6NJ0qlmJ540ORGbp/MiMLctf+Bps7/gTIB+PjNKPTuooQoiq3yLscexo4Mcdwah8/5kMW5uzvB29sVp37JM5s+nXojH0E99Le5rps+3RoDDxHV4rQbNRtt9ekfTuXA2VGKrDuFZtvfuV8KpZvTw/PrrO+wEChR68bgQ83i0fWdkJ7tEdKzndlzuvl5wMvNEY4OUq7vELUxDD7UZM7OckilAtRqDcqqNHqJBZcz7mHC809CLhNMrvmE9/aBl5sjBgb5Qq0WUVDArQ+I2gqu+VCjSeVSiFIpDp67jS/++Qtyfis1KI+jEYFdh29g1vi+ZtOnCwrKWB6HqA3inQ81ilQuRWZesd5dTo9OnkbL42jTqD+ZEYWrWSrc+q2E02tEBIDBhxqpRgOD53by8stMlsc5ejEXxy/lYt4r4fi/T3dDTY0GhYXlnF4jauM47UYNIpdLoVA4Gq0+XV95HKlUQHc/T+Tnl/IZCSICwOBD9RCkAkSpgGOpebiRW2R0eo27ixJRY3HajUwSpAJy7pXioy9P1Vt9WlseJ2nuUJxKvcPyOERkllWDT01NDfr27YvKykq94y4uLjh//rzRc3bt2oU5c+YYHI+Pj8fixYt11123bh127NiBgoICBAYGYt68eQgODm7+N9GKqQFd4AFqp9eS5g3DV3vTjKZPb/nhKqJC/BAX4a9LwS4qquD6DhEZsGrwyczMRGVlJRITE9GlSxfdcUEwPRt49epVBAQEYMWKFXrH27V7+EDjsmXLsGPHDsyePRsdO3ZEcnIyXn31VezatQudO3du9vfRmmif3QGAQz/f0gsydafXlm02LBa6YPIAyASgqKjC4v0mIvti1eBz9epVCIKAuLg4ODs7N+ic9PR0BAYGIjQ01Ojrt27dwrfffotFixZh3LhxAIDo6GjExcXhiy++wNKlS5ut/62JVC5FjQY4eO42cvKK4O/rjoFBvphSrcaXu9N07cxVn5YJgJq3OUTUAFYNPleuXIG/v3+DAw9QG7AmTZpk8vWTJ09CrVYjLi5Od8zBwQGxsbH46aefHqe7rZaxZ3cA4Ks9aVjw6gBMGfmUQQBK2ZuGZTOi8OwAf9TUqFFeXg014w4RNZBVs93S09Ph4OCAqVOnIiwsDOHh4Vi8eDFKSoxvXfDbb78hPz8faWlpeO655xAYGIi4uDjs3LlT1+bXX3+Fh4cHlEql3rkBAQHIzc1FRQWnhLQ8PV3g7e0KDSQGgQeorTy9bPNpRAZ3xKNZ1BJBQDsPFxQXV6C8vNqCvSai1sDq024lJSV48cUXMX36dKSmpmLt2rXIzMxESkoKJBKJQXugdmrt/fffh6OjI3bu3Im5c+dCrVZjzJgxKCkpgUKhMPharq6uAIDS0lI4OTkZvF4fieThfh62QCaTAmhan8qqalBVpcHeE1kQNSIkgsTs1genfsnDyMHdsfOnGwBq13cWTx0IhYsMMsGhye+hrXqcsSPr4bg1jqSepyusGnxWr14NDw8P9OrVCwAQHh4Ob29vvP/++zh+/DiioqL02gcFBWHDhg0IDw/XBZjo6Gjk5+djzZo1GDNmDEztjac9/mhAa2vKqmpw41ah7k7nmX6dTD4cqnXzbjH+GN0VFRU16NrRAwMCfeHiJIXMTGIIEZE5Vg0+AwYMMDgWGxsLoPYu59Hgo1Qq8cwzzxicExMTg+PHj0OlUkGhUKC0tNSgjfaYsbuihhBF29rBsKm7KopSqd4Um6qost6tD/x93PAHT2dMjOsFjUZEdXUNSqv53E5TcUdM+8Rxaxxvb4XZux+r/eqan5+Pbdu24ebNm3rHtWsyXl5eBuecP38e27ZtMzheWVkJmUwGNzc3dOvWDQUFBSgs1N/ILDs7G506dYKDQ9ubJnJ2lkOhcIRS6WJQHudyxj306dHO5N2PXCZgYFAHlJRUorKyBtXMZiOiZmC14CORSLB48WJ8/fXXesf37t0LqVSKfv36GZxz4cIFLFy4ULf2AwAajQb79+9H3759IZfLMWjQIADA/v37dW2qqqpw+PBh3WttxaNbH6iKKg3K4zRk64N6ZuWIiBrNatNuSqUS8fHx2LJlCxQKBfr374+ff/4ZGzZsQHx8PAICAqBSqZCTk4MePXpAoVBg9OjR2LJlC/7f//t/SEhIgKurK7Zu3Ypr167hf/7nfwAAfn5+GDVqFD7++GOUlZUhICAAycnJKCwsxGuvvWatt2txxtKne3b2gr+vYXmculsfXMt+gJt3i9GZz+4QUQuSiKZW6C2guroamzdvxnfffYfbt2/Dx8cHL730El577TUIgoDt27dj/vz5SElJQUREBADg9u3b+Mtf/oJTp06hpKQEQUFBmDlzJvr376+7blVVFVauXIndu3ejrKwMgYGBmDNnDkJCQprcV41GRH6+8RRwa6hv/lmUSjE98aDeFJuDFEiaN9zguJajXMDGBcPhJKstjcMU6pbBtQP7xHFrHG9vBQTB9KKPVYOPPbGn4OPsLK+datuVavDa/FfC4eggNXiuRzvF1r2jO4uAtjD+ELNPHLfGqS/4sKp1KySVCka3PgCAT786g/mvhGPD3KE4yerTRGQlDD6tkFqtMbq2o/XpV2fw+gtBGBHVBRKJBGq1iIKCMlafJiKLYR6TnZJIJBAECeRyqcFr5eXViAzqUG/6tEpVhvz8UhQUlLV0d4mI9DD42BntzqL/Op2NDTsu41hqHkSpAEGqP5QyAVgw2fTOokyfJiJrYsJBA9lCwsGjO4tqyWUCFk2JgH97V2jUD49rt0l4dG2H6dPWxYVr+8RxaxxmuzUTWwg+olTA9MRDRtOk5TIBG+YOhcTIvgbaDeKYPm0b+EPMPnHcGqe+4MPJFxsnl0vh6CiDs7McZ9Lumq0+feZKnsk1oJKSSgYeIrIZDD42Sru2cyw1Dyk/pCPjdhEyc42nT2tl5RaZ/U2DiMhWMNXaBhlb28lTldVbfbpLR3doNJxFJSLbxzsfG6QGDJIKGlJ9Ory3L6tOE5FdYPCxMXK51OjaTn3VpxdNiYAUvOshIvvAaTcbIwgSk2s72urTqxNikJaZj19vF6JLR3eE9/aFFKJemjURkS1j8LExGo2Irh1Nl8Y5ejEXQd29ERcRAAAoKalEdbUaDDtEZE847WZjqqvVCH/Kp961HY1G/H1La67xEJH9YfCxQVIAi6ZEcG2HiFotVjhoIEtXOBCkAtSQ4MyVPGTlFhms7fBpa/vFsbNPHLfG4X4+VtbU0jYatQYSAFGBvni6TwfdFBvXdoioNWDwaSHaop4Hz91GTl4R/H3dEdmEop5c0yGi1ojBpwVI5VJk5hUbbFX91Z40LJg8AF193VhVmojaNCYctIAaDQwCD1Bb/HNZ8mmYqA1KRNRmMPg0M2dnOU6k3jFbffpk6h04O8st3DMiItvB4NPMpFIBOXnmq0/n3C2GVMpvPRG1XfwJ2MzUag38fU1XKAAAfx83qFkKh4jaMAafZlZeXo3IoA5mKxQMDOrAjd2IqE1j8GkBMgFYMHmA0QoFCyYPgIm4RETUZrDCQQM1tsKB9jmfk6l3kHO3GP4+bhjYhOd8TOHT1vaLY2efOG6NwwoHVqKuVkMCYEhfP70KB2o+3kNExODT0ri2Q0RkiKsPRERkcQw+RERkcUw4aCBRFGFL3ynJ7+t4ttQnahiOnX3iuDWORAJIJKYTDhh8iIjI4jjtRkREFsfgQ0REFsfgQ0REFsfgQ0REFsfgQ0REFsfgQ0REFsfgQ0REFsfgQ0REFsfgQ0REFsfgQ0REFsfgQ0REFsfgQ0REFsfN5GzcmTNnsGrVKqSlpcHNzQ1xcXGYNWsWXF1dAQDDhw9HTk6OwXknTpyAUqm0dHcJwKlTpzBp0iSTry9fvhyjRo3C0aNHsXr1amRkZMDb2xsTJkzAlClTLNhTelRDx46fu8fH4GPDLly4gMmTJ2PIkCFISkpCdnY2Vq1aBZVKhdWrV6O0tBQ3b97Ee++9hwEDBuid6+7ubqVeU2BgIL799lu9Y6IoYsGCBSgrK0NMTAzOnTuH6dOn4/nnn8e7776Ln3/+GStWrIAoipg6daqVek4NGTt+7pqJSDYrPj5ejI+PFzUaje7Y119/LQ4dOlQsKysTf/75Z/GJJ54QMzIyrNhLaojNmzeLTz75pHjhwgVRFEXxlVdeEV988UW9NitWrBD79+8vVlZWWqOLZMKjY8fPXfPgmo+NUqlUOHv2LMaNG6e3IVN8fDwOHDgAZ2dnXLlyBY6OjujSpYv1Okr1un//PtasWYNx48YhJCQElZWVOHv2LJ599lm9dnFxcSgqKsK5c+es1FN61KNjB4Cfu2bC4GOjrl27BlEU4eHhgYSEBISGhqJfv35YsmQJKioqAADp6enw9PTErFmz0L9/f4SFhWHmzJm4d++elXtPdX3++ecQBAEJCQkAgJs3b6K6uhpdu3bVaxcQEAAAyMzMtHgfybhHxw7g5665MPjYKJVKBQCYN28evLy8kJSUhLfffhu7du3Chx9+CAC4evUq7t+/j549e2LDhg2YP38+zpw5g0mTJukCFFmXSqXCzp07MWHCBN16QHFxMQBAoVDotdUmkZSUlFi2k2SUsbED+LlrLkw4sFHV1dUAgL59+2LJkiUAgMjISIiiiMTERLz11ltYuHAhRFHUTQf0798f3bt3x/jx4/H999/jpZdeslr/qdY//vEPaDQavQwq8fed603tby8I/J3QFhgbOwD83DUT/l9uo7S/BQ8ePFjveHR0NERRRHp6OoKDg3UfAK1+/frBzc0NV69etVhfybT9+/fj6aef1ku/dXNzA2B4h6P9t/Z1si5jYweAn7tmwuBjo7SLmVVVVXrHtXdEAPDdd98Z/M8uiiKqq6vh5eXV4n0k8+7evYu0tDQ8//zzesf9/f0hlUoNnhPR/vvRtSCyPFNjV1ZWxs9dM2HwsVHdu3eHn58f9u7dq3f8xx9/hEwmQ2hoKBITE7Fu3Tq91w8ePIiKigqD5w/I8i5evAig9rfiuhwdHdG/f3/861//0k3BAbW/abu5uSEoKMii/SRD5saOn7vmIf1Qu3pNNkUikaB9+/ZITk5GVlYWFAoF9u3bh/Xr12PixIl49tlnIZPJkJKSgsLCQshkMhw8eBDLli3D008/jWnTpln7LbR5+/btw+XLlzFnzhyD13x9fbFhwwbcuHEDzs7O2LlzJzZu3Ii3334bERERVugt1WVq7ARB4OeumUjEur96kc05cOAA1q9fryvBMnbsWEybNk23KL1t2zakpKQgJycHHh4e+OMf/4i3334bTk5OVu45ffjhhzh06BCOHDli9PV///vf+Pzzz5GZmQkfHx/Ex8ezvI6NqG/s+Ll7fAw+RERkcVzzISIii2PwISIii2PwISIii2PwISIii2PwISIii2PwISIii2PwIWpBEydOxJAhQ+zmukSWwqrWRC1o+vTpKC8vt3Y3iGwOgw9RC4qKirJ2F4hsEqfdiIjI4hh8iFpQ3bWZiRMnYurUqThy5AhGjx6NPn36IDY2FmvXroVGo9E778aNG3j33XcRERGBfv36YeLEiTh79qzB9Y8ePap3rb/+9a8G18rIyMBbb72F/v37IyQkBC+//DL+85//6LWpqqrCsmXLMHToUAQFBSEmJgZLly5FYWFhM39HiGox+BBZ0LVr15CQkICIiAgsXLgQnTt3xrp16/DNN9/o2mRlZeGll17CyZMnMWHCBMyaNQsFBQWYPHkyLl26pGt37949vP322xg4cCA++OADdOzYEWvWrEFKSoquTXp6OsaOHYuMjAxMmzYNM2fORE1NDd544w297Tr+9Kc/Ydu2bRgxYgSWLFmCuLg4/OMf/8DMmTMt842htkckohYzYcIE8ZlnntH9/YknnhAPHjyoe72iokIMDw8Xx44dqzv27rvvisHBwWJWVpbumEqlEvv16ye+8847etf617/+pWtTXFws9u3bVxw/frze1x82bJhYWlqqO1ZdXS2OHz9eHDRokFhZWSmKoigGBweLS5cu1ev76tWrxdGjR4slJSXN8a0g0sM7HyILcnZ2RmxsrO7fjo6O6Nq1K+7fvw8A0Gg0OHz4MGJiYhAQEKBr5+Xlha1bt2LhwoV616qbbq1QKNCtWzfdtR48eIDTp08jJiYGFRUVUKlUUKlUKCoqwvDhw3H//n1cvnwZQO3+Qnv37sX27dtRVFQEAEhISMB3332n29KdqDkx243Igjw9PXV7MWk5ODjo1mkKCgpQVlamF3i0nnjiCYNrSaVSvWNOTk7Iz88HANy8eRMAsGXLFmzZssVof+7cuQOgdv+ahIQEzJ8/H4sWLUJoaCiGDx+OMWPGwM3NrQnvlMg8Bh8iC3o08DxKrVY3qF1jrhUfH49hw4YZbdOjRw8AQGRkJH788Ufdf8eOHcOnn36KzZs3Y/v27VAqlfX2h6gxGHyIbIiXlxecnJyQnZ1t8NqmTZtw//59zJ07t0HX8vPzAwBIpVIMGjRI77WMjAzcunULzs7OqKqqwpUrV+Dr64sRI0ZgxIgR0Gg0SE5OxooVK7Bnzx5MnDjx8d8cUR1c8yGyITKZDFFRUTh8+LBuSgwACgsLsWnTJuTk5DT4Wn/4wx8QFBSEHTt24O7du7rj1dXV+OCDD/DOO++gpqYGBQUFGDt2LP72t7/p2giCgD59+uj+TtTceOdDZGPee+89vPjii3jxxRcRHx8PhUKBf/zjHygrK0NCQkKjrrVw4UK88sorGDNmDMaNGwdPT0/s2bMHFy9exHvvvQcvLy8AwB//+Eds3boV5eXlCAsLQ0FBAb7++mu0a9cOzz//fEu8TWrjGHyIbEz37t3x7bffYtWqVfjiiy8gCAKCg4ORmJiInj17NupaYWFh+Oabb7B27VokJyejpqYGXbt2xfLlyzFq1Chdu48++gidO3fGnj17sGfPHjg7OyMyMhIzZ87keg+1CIkoiqK1O0FERG0LJ3OJiMjiGHyIiMjiGHyIiMjiGHyIiMjiGHyIiMjiGHyIiMjiGHyIiMjiGHyIiMjiGHyIiMjiGHyIiMji/j9+fC3IRHiwFQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(data=heights, x='inches', y='feet');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Intuitively, we can use a one-dimensional line to represent the data rather than the two-dimensional plane of the scatter plot. The **intrinsic dimension**, or simply the dimension, of the `heights` table is 1, not 2. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Dimension of a Data Table is the Rank\n",
    "\n",
    "Observe that the `feet` column of the `heights` table is the `inches` column converted to feet by dividing each value by 12:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>inches</th>\n",
       "      <th>feet</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>67.75</td>\n",
       "      <td>5.65</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>72.25</td>\n",
       "      <td>6.02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>66.25</td>\n",
       "      <td>5.52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>249</th>\n",
       "      <td>66.00</td>\n",
       "      <td>5.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>250</th>\n",
       "      <td>70.50</td>\n",
       "      <td>5.88</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>251</th>\n",
       "      <td>70.00</td>\n",
       "      <td>5.83</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>251 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     inches  feet\n",
       "0     67.75  5.65\n",
       "1     72.25  6.02\n",
       "2     66.25  5.52\n",
       "..      ...   ...\n",
       "249   66.00  5.50\n",
       "250   70.50  5.88\n",
       "251   70.00  5.83\n",
       "\n",
       "[251 rows x 2 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "heights"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `feet` column is a *linear combination* of the `inches` column. We might view the `feet` column as contributing no extra information than the `inches` column. If the `heights` table lost the `feet` column, we could reconstruct the `feet` column exactly using the `inches` column alone. A linearly dependent column does not \"add\" another dimension to a data table.\n",
    "\n",
    "In other words, the dimension of a data table is the number of linearly independent columns in the table, or equivalently the **matrix rank** of the the data."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Intuition for Reducing Dimensions\n",
    "\n",
    "In most real-world scenarios, though, data seldomly contain columns that are exact linear combinations of other columns because of measurement error. Consider these measurements of overall density vs percent fat for individuals:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "tags": [
     "remove-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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mZD4a/8r8XfucXQWib/pRWIlQQkhhHBJcotPCCGES5IEJYQQwiVJghJCCOGSJEEJIYRwSZKghBBCuCRJUEIIIVySJCghhBAuSRKUEEIIlyQJSgghhEuSBCWEEMIlSYISQgjhkiRBCSGEcEmSoDrZhg0buPnmmxk8eDA33XQTH330UWcfUofIzs4mPj6ewsLCetu//vprfvOb35CYmMjYsWNZuXJlJx1h21IUhffee49bbrmFIUOGMH78eF566SUqKiqcY7pr7HVUVWX16tVMnDiRwYMHc+utt7J+/fp6Y7r7Z1Bn5syZTJgwod42d4m9JXTPPvvss519EO7qs88+4/HHH+eWW27hkUcewWKxsGjRIvr160dsbGxnH167ycnJ4cEHH6S8vJz7778fs9kMwP79+3nggQdITk7mj3/8I97e3vzjH//A09OToUOHdvJRX51ly5axLZPNaQAACiBJREFUYMECbr/9dqZPn07fvn1Zs2YN+/fv57bbbuvWsdd58803+fvf/87UqVN56KGHUFWV9PR0YmJi6Nevn1t8BgAff/wxb775Jr6+vkyZMgXo3n/3r4oqOs348ePVP/7xj/W2/eEPf1B/+ctfdtIRtS+bzaa+88476pAhQ9Tk5GS1f//+6tmzZ52vT506Vf3tb39bb58FCxaow4cPVy0WS0cfbptRFEVNSkpSn3322XrbP/30U7V///5qVlZWt429jtVqVZOSktTnn3++3vZ77rlHveuuu1RV7b7n/1KFhYVqUlKSesMNN6jjx493bneH2FtDbvF1kvz8fPLy8rjxxhvrbZ84cSI5OTnk5+d30pG1n3379rFw4ULS0tKYPXt2vdcsFgt79+5t9PMoKytj//79HXmobaqyspJbb72VSZMm1dseHR0NwPHjx7tt7HV0Oh1vv/0206ZNq7fdYDBgsVi69fm/1NNPP01qaiojRoxwbnOX2FtDElQnycnJASAqKqre9sjISAByc3M7/JjaW0xMDFu2bGHmzJnodLp6r+Xn52Oz2brl52E2m3n66acZNmxYve1btmwBIC4urtvGXker1TJgwACCgoJQVZXi4mLeeustduzYwZ133tmtz3+dDz74gMzMTObNm1dvuzvE3lr6zj4Ad1VeXg7gfP5Sx2QyAdR7eN5dBAQENPmau30eBw8e5K233mL8+PFuF/vnn3/Oo48+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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(data=fat, x='% fat', y='density');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The scatter plot shows that density is not a linear combination of percent fat, yet density \n",
    "and percent fat appear \"almost\" linearly dependent. Intuitively, we can closely approximate density values using a linear combination of the percent fat values."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We use **dimensionality reduction** techniques to automatically perform these approximations rather than manually examine individual pairs of data variables. Dimensionality reduction techniques are especially useful for exploratory data analysis on high-dimensional data. Consider the following data table of US House of Representative votes in September 2019:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>515</th>\n",
       "      <th>516</th>\n",
       "      <th>517</th>\n",
       "      <th>518</th>\n",
       "      <th>...</th>\n",
       "      <th>552</th>\n",
       "      <th>553</th>\n",
       "      <th>554</th>\n",
       "      <th>555</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>member</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>A000055</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A000367</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A000369</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Y000062</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Y000065</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Z000017</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>441 rows × 41 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         515  516  517  518  ...  552  553  554  555\n",
       "member                       ...                    \n",
       "A000055    1    0    0    0  ...    0    0    1    0\n",
       "A000367    0    0    0    0  ...    1    1    0    1\n",
       "A000369    1    1    0    0  ...    0    0    1    0\n",
       "...      ...  ...  ...  ...  ...  ...  ...  ...  ...\n",
       "Y000062    1    1    1    1  ...    1    1    1    1\n",
       "Y000065    0    0    0    0  ...    0    0    1    0\n",
       "Z000017    1    1    0    0  ...    0    0    1    0\n",
       "\n",
       "[441 rows x 41 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('vote_pivot.csv', index_col='member')\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this dataset, every row corresponds to a single congressperson, and every column contains that congressperson's vote on a single bill: a `1` means the person voted for the bill and a `0` means the person voted against the bill.\n",
    "\n",
    "This dataset contains 41 numeric dimensions:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "41"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.linalg.matrix_rank(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In other words, none of the vote columns are linearly dependent. This implies that no two congresspeople voted exactly the same on these 41 bills, and that no two congresspeople voted exactly opposite from each other.\n",
    "\n",
    "But we don't expect the votes to be completely random, either. In 2019 the US had two dominant political parties, the Democratic and the Republican parties, and we expect that in most cases a congressperson will vote similarly to other members of their political party.\n",
    "\n",
    "That is, even though the matrix of votes contains 41 dimensions, we might preserve useful patterns in the data even after performing dimensionality reduction to decrease the number of data table dimensions.\n",
    "\n",
    "The rest of this chapter introduces a useful technique for dimensionality reduction called **principal component analysis** or PCA for short. In the figure below, we use PCA to approximate the vote data with just 2 dimensions, then create a scatter plot using the 2-dimensional approximation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_c = df - np.mean(df, axis = 0)\n",
    "u, s, vt = np.linalg.svd(df_c, full_matrices = False)\n",
    "pcs = u * s\n",
    "sns.scatterplot(x=pcs[:, 0], y=pcs[:, 1]);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the plot above, every point corresponds to one congressperson. We can color each point according to the political party of the congressperson:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "tags": [
     "remove-cell"
    ]
   },
   "outputs": [],
   "source": [
    "legs = pd.read_csv('legislators.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "tags": [
     "remove-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "vote2d = pd.DataFrame({\n",
    "    'member': df.index,\n",
    "    'pc1': pcs[:, 0],\n",
    "    'pc2': pcs[:, 1]\n",
    "}).merge(legs, left_on='member', right_on='leg_id')\n",
    "sns.scatterplot(data = vote2d,\n",
    "                x=\"pc1\", y=\"pc2\", hue=\"party\",\n",
    "                hue_order=['Democrat', 'Republican', 'Libertarian']);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this example, PCA successfully finds 2 dimensions that summarize the original 41 dimensions–these two dimensions capture the distinct voting patterns of political parties within the House of Representatives."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Summary\n",
    "\n",
    "We use dimensionality reduction techniques to summarize data tables with many dimensions. This allows us to explore high dimensional data. One useful technique for dimensionality reduction is principal component analysis, which we introduce in the rest of this chapter."
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Tags",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
